<?php

namespace Controle\ControleBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Theme
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class Theme {

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="libelle", type="string", length=255)
     */
    private $libelle;

    /**
     * @var string
     *
     * @ORM\Column(name="description", type="string", length=1000)
     */
    private $description;

    /**
     *
     * @ORM\ManyToMany(targetEntity="SiteWeb",inversedBy="themes")
     */
    private $siteWebs;

    /**
     *
     * @ORM\ManyToMany(targetEntity="MotCle",inversedBy="themes")
     */
    private $motCles;

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId() {
        return $this->id;
    }

    /**
     * Set libelle
     *
     * @param string $libelle
     * @return Theme
     */
    public function setLibelle($libelle) {
        $this->libelle = $libelle;

        return $this;
    }

    /**
     * Get libelle
     *
     * @return string 
     */
    public function getLibelle() {
        return $this->libelle;
    }

    /**
     * Set description
     *
     * @param string $description
     * @return Theme
     */
    public function setDescription($description) {
        $this->description = $description;

        return $this;
    }

    /**
     * Get description
     *
     * @return string 
     */
    public function getDescription() {
        return $this->description;
    }

    /**
     * Constructor
     */
    public function __construct() {
        $this->siteWebs = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Add siteWebs
     *
     * @param \Controle\ControleBundle\Entity\SiteWeb $siteWebs
     * @return Theme
     */
    public function addSiteWeb(\Controle\ControleBundle\Entity\SiteWeb $siteWebs) {
        $this->siteWebs[] = $siteWebs;

        return $this;
    }

    /**
     * Remove siteWebs
     *
     * @param \Controle\ControleBundle\Entity\SiteWeb $siteWebs
     */
    public function removeSiteWeb(\Controle\ControleBundle\Entity\SiteWeb $siteWebs) {
        $this->siteWebs->removeElement($siteWebs);
    }

    /**
     * Get siteWebs
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getSiteWebs() {
        return $this->siteWebs;
    }

    /**
     * Add motCles
     *
     * @param \Controle\ControleBundle\Entity\MotCle $motCles
     * @return Theme
     */
    public function addMotCle(\Controle\ControleBundle\Entity\MotCle $motCles) {
        $this->motCles[] = $motCles;

        return $this;
    }

    /**
     * Remove motCles
     *
     * @param \Controle\ControleBundle\Entity\MotCle $motCles
     */
    public function removeMotCle(\Controle\ControleBundle\Entity\MotCle $motCles) {
        $this->motCles->removeElement($motCles);
    }

    /**
     * Get motCles
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getMotCles() {
        return $this->motCles;
    }

}
